﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using trangbaocao.Models;
namespace trangbaocao.Controllers
{
    [Authorize]
    public class Sort_DeviceController : Controller
    {
        Sort_DeviceModel Sort_DeviceModel = new Sort_DeviceModel();
        Main_Sort_DeviceModel Main_Sort_DeviceModel = new Main_Sort_DeviceModel();
        public ActionResult Index()
        {
            Sort_DeviceAssociateModel Sort_DeviceAssociateModel = new Sort_DeviceAssociateModel();
            List<Sort_DeviceAssociateModel> sort_deviceModel = Sort_DeviceAssociateModel.getLoaithietbiIndex();
            return View(sort_deviceModel);
        }
        public ActionResult AddSort_Device()
        {
            List<Main_Sort_DeviceModel> m_s_dModel = Main_Sort_DeviceModel.getChungloaithietbi();
            Sort_DeviceModel.chung_loai_tb_id = new SelectList(m_s_dModel, "id", "name");
            return View(Sort_DeviceModel);
            
        }
        [HttpPost]
        public ActionResult AddSort_Device(Sort_DeviceModel sort_device)
        {
            List<Main_Sort_DeviceModel> m_s_dModel = Main_Sort_DeviceModel.getChungloaithietbi();
            if (ModelState.IsValid)
            {
                if (Sort_DeviceModel.checkExist(sort_device) > 0)
                {
                    TempData["msg"] = "Loại thiết bị đã tồn tại!";                    
                    sort_device.chung_loai_tb_id = new SelectList(m_s_dModel, "id", "name");
                    return View(sort_device);
                }
                Sort_DeviceModel.addLoaithietbi(sort_device);
                TempData["msg"] = "Thông tin mới đã được cập nhật thành công!";
                return RedirectToAction("Index");
            }
            sort_device.chung_loai_tb_id = new SelectList(m_s_dModel, "id", "name");
            TempData["msg"] = "Bạn đã nhập sai thông tin!";
            return View(sort_device);
        }
        public ActionResult EditSort_Device(int id)
        {
            Sort_DeviceModel Sort_DeviceModel_ = Sort_DeviceModel.getLoaithietbi().Find(delegate(Sort_DeviceModel s_d) { return s_d.id == id; });
            List<Main_Sort_DeviceModel> m_s_dModel = Main_Sort_DeviceModel.getChungloaithietbi();
            Sort_DeviceModel_.chung_loai_tb_id = new SelectList(m_s_dModel, "id", "name");
            return View(Sort_DeviceModel_);
        }
        [HttpPost]
        public ActionResult EditSort_Device(Sort_DeviceModel sort_device)
        {
            if (ModelState.IsValid)
            {
                Sort_DeviceModel.updateLoaithietbi(sort_device);
                TempData["msg"] = "Thông tin mới đã được cập nhật thành công!";
                return RedirectToAction("Index");
            }
            TempData["msg"] = "Bạn đã nhập sai thông tin!";
            List<Main_Sort_DeviceModel> m_s_dModel = Main_Sort_DeviceModel.getChungloaithietbi();
            sort_device.chung_loai_tb_id = new SelectList(m_s_dModel, "id", "name");
            return View(sort_device);
        }

        public ActionResult DeleteSort_Device(int id)
        {
            if (Sort_DeviceModel.checkSubId(id) > 0)
            {
                TempData["error"] = "Bạn không thể xóa do dữ liệu này đã được sử dụng!";
                return RedirectToAction("Index");
            }
            Sort_DeviceModel.deleteLoaithietbi(id);
            TempData["msg"] = "Thông tin mới đã được cập nhật thành công!";
            return RedirectToAction("Index");
        }
        [HttpPost]
        public ActionResult CheckedAction(int[] Items)
        {
            foreach (int item in Items)
            {
                if (Sort_DeviceModel.checkSubId(item) > 0)
                {
                    TempData["error"] = "Bạn không thể xóa do có dữ liệu đã chọn đã được sử dụng!";
                    return RedirectToAction("Index");
                }
            }
            foreach (int item in Items)
            {
                Sort_DeviceModel.deleteLoaithietbi(item);
            }
            TempData["msg"] = "Thông tin mới đã được cập nhật thành công!";
            return RedirectToAction("Index");
        }
        public ActionResult Sort_Device_Report_Index()
        {
            return View("~/Views/Sort_Device/Report/Sort_Device_Report_Index.cshtml");
        }

    }
}
